/**  
 * 功能：检验长度是否正确  
 * 参数：str 检验值,minlen 最小长度,maxlen 最大长度  
 * 返回：TRUE OR FALSE  
 */  
function checkByteLength(str,minlen,maxlen) {   
    if (str == null) return false;                                  //为空返回false   
    var l = str.length;   
    var blen = 0;   
    for(i=0; i<l; i++) {                                     //循环取得检验值的长度   
        if ((str.charCodeAt(i) & 0xff00) != 0) {   
            blen ++;   
        }   
        blen ++;   
    }   
    if (blen > maxlen || blen < minlen) {                         //判断长度是否合法   
        return false;   
    }   
    return true;   
}   
/**  
 * 功能：检验用户名是否合法  
 * 参数：value 检验值  
 * 返回：TRUE OR FALSE  
 */  
function validateUsername(value){   
    var patn = /^[a-zA-Z]+[a-zA-Z0-9]+$/;    
    //var patn = /^[^\s]*$/;   
    if(!checkByteLength(value,4,20)) return true;                   //判断长度是否合法   
    if(!patn.test(value)){                                      //判断格式是否合法   
        return true;   
    }   
    return false;    
}   
  
  
/**  
 * 功能：检验登陆或者注册的用户名 -- 用户名称至少为4个字符,但是少于20个字符  
 * 参数：value 检验值  
 * 返回：TRUE OR FALSE  
 */  
function checkUserName(value)   
{   
    if(value == '')                                         //判断用户名是否为空，返回false   
    {   
        return false;   
    }   
    if(validateUsername(value))                             //判断用户名是否合法   
    {   
        return false;   
    }   
    return true;   
}   
  
  
/**  
 * 功能：检验Email是否合法  
 * 参数：value 检验值  
 * 返回：TRUE OR FALSE  
 */  
function validateEmail(value){   
    var patn=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;   
    if(!patn.test(value)) return false;                             //判断Email是否合法   
    return true;   
}   
/**  
 * 功能：检验Email  
 * 参数：value 检验值  
 * 返回：TRUE OR FALSE  
 */  
function CheckEmail(value)   
{   
    if(value == '')                                         //判断Email是否为空   
    {   
        return false;   
    }   
    if(!validateEmail(value))                                   //判断Email是否合法   
    {   
        return false  
    }   
    return true;   
}   
  
/**  
 * 功能: 检验是否包含特殊字符  
 * 参数：value 检验值  
 * 返回：TRUE OR FALSE  
 */    
function validateSpecSymbol(value) {   
    return true ;//! /^[a-zA-Z0-9\u4E00-\u9FA5#\]*$/.test(value);   
}   
  
/**  
 * 功能: 检验是否包含特殊字符  
 * 参数：value 检验值  
 * 返回：TRUE OR FALSE  
 */  
  
function CheckSpecSymbol(value)   
{   
    if(value == '')                                         //判断Email是否为空   
    {   
        return false;   
    }   
    if(!validateSpecSymbol(value))                                  //判断Email是否合法   
    {   
        return false ;   
    }   
    return true;       
}   
//判断日期是否合法   
//参数g_dateVal格式："1980-01-01"   
function IsDate(g_dateVal){    
    var s = g_dateVal.replace(/-/g,"/");    
    var newdate=new Date(s);    
    var s = newdate.getYear();   
    return isNAN(s);   
}    
  
  
//含有非数字字符 返回 true   
function IsNumber(s){ //适于校验非负整数   
   var reg = /^[01233456789]{1,}$/;   
    if(reg.test(s))   
        return true;   
    else  
        return false;   
}   
       
//从身份证号里面得到日期   
function getBirthdayFromIdno(IDno){   
    var sBirthday;   
    if(IDno.length==15){   
        sBirthday = "19" + IDno.substring(6,8);   
        sBirthday = sBirthday + "-" + IDno.substring(8,10);   
        sBirthday = sBirthday + "-" + IDno.substring(10,12);   
    }   
    if(IDno.length==18){   
        sBirthday = IDno.substring(6,10);   
        sBirthday = sBirthday + "-" + IDno.substring(10,12);   
        sBirthday = sBirthday + "-" + IDno.substring(12,14);   
    }   
    return sBirthday;   
}   
  
//验证身份证号码   
function IsIdno(s){   
    if (s==""){ return confirm("没有填写身份证号，这样将无法判定其生日！\n确定继续吗？");}   
    if (s.length != 15 & s.length != 18){   
        alert("请填入正确的身份证号码");   
        return false;   
    }   
    if (IsNumber(s.substring(0,17))){   
        alert("请填入正确的身份证号码");   
        return false;   
    }   
    if (IsNumber(s.substring(17,18)) & s.substring(17,18) != "x" & s.substring(17,18) != "X"){   
        alert("请填入正确的身份证号码");   
        return false;   
    }   
    return true;   
}   
  
//去除首尾空格   
function Trim(s){
	return s.replace(/(^\s+)|(\s+$)/g, "");
}   
//去除全部空格       
function TrimAll(s){
	return s.replace(/\s+/g, "");
}   
//去除“'”    
function SafeInput(s){
	return Trim(s.replace(/('+)/g,'’'));
}       
  
//是否为电子邮件   
function IsEmail(s)   
{   
    var reg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;   
    if(reg.test(s))   
        return true;   
    else  
        return false;   
}   
       
//验证电话号码，只允许数字和“-”   
function IsTel(s)   
{   
    var reg = /[\d|-]{7,15}/;   
    if(reg.test(s))   
        return true;   
    else  
        return false;   
}